Minecraft中有著多樣化的食物,蛋豆魚肉樣樣都有,每種食物都有自己的飽食度跟飽和度,像是毒馬鈴薯、牛奶與腐肉還有特殊效果,我們也可以透過模組自己做一個食物出來。
我們在item資料夾下建立一個新的class叫ModFoodComponents,在這個class中我們這樣寫
package net.como.item;
import net.minecraft.item.FoodComponent;
public static final FoodComponent MEAT_OF_THE_NINE_HEAD_PHOENIXES = new FoodComponent.Builder().hunger(6).saturationModifier(0.25f)
.statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST,100),0.5f).build();
我們宣告一個靜態常數MEAT_OF_THE_NINE_HEAD_PHOENIXES,並建立一個FoodComponent.Builder的實例,hunger代表吃下這個食物會回復多少飽食度,saturationModifier代表食物的飽和度,飽和度決定了飽食度的下降速度,statusEffect代表這個食物有機會給予特殊效果,StatusEffectInstance是一個實例,代表一個效果,這裡是HEALTH_BOOST效果,這個效果維持100tick,並且有50%的機會獲得,最後build()建立了這個實例,並將前面的數值設定綁定到新的實例中。
之後我們依然要在ModItem中加入這個新ITEM
public static final Item Meat_of_the_nine_head_phoenixes = registerItem("meat_of_the_nine_head_phoenixes",
new Item(new FabricItemSettings().food(ModFoodComponents.MEAT_OF_THE_NINE_HEAD_PHOENIXES)));
這裡比較不同的地方是new FabricItemSetting後面接了一個.food,然後加入剛剛設定的ModFoodComponents.MEAT_OF_THE_NINE_HEAD_PHOENIXES,這樣他就知道我們的新物品是一個食物,並且相關的數值是多少。
這樣就只剩Lang跟Model還有紋理了,不過這次我們的食物是一塊神話生物 "九鳳"的肉,總不可能跟原版的雞肉長一樣吧,但是我的美術細胞不能說是一無是處,可以說是完全沒有,我自己畫出來的肉像是在廚餘裡放三個月一樣,所以我們只能借助神奇的網路工具,先到網路上找一塊肉的圖片,然後我們放到這個網路工具上。像素化工具
我們就有一個基礎的像素肉了,接下來我們可以透過小畫家來稍微修改這塊肉,讓他看起來美味一點,不過食物的部分就先到這邊